Profile driven communication polling for remote control

ABSTRACT

System, method and computer program product for determining a polling schedule for a remote control, are described. A multimedia device collects usage data that identifies when the multimedia device is in use. The probability that the multimedia device is in use for a particular time is determined based on the usage data. A polling schedule is generated based on the usage probability such that the periods in the polling schedule vary according to the usage probability to minimize energy consumption. The remote control then polls the multimedia device according to the polling schedule.

CROSS REFERENCE TO RELATED APPLICATION

This application is a continuation of U.S. Non-Provisional applicationSer. No. 14/710,226, filed on May 12, 2015, which is herein incorporatedby reference in its entirety.

FIELD

The field relates generally to a remote control device, and morespecifically to conserving battery life of the remote control device.

BACKGROUND

A remote control controls functionality of a multimedia device. Forexample, a remote control may select streaming content that themultimedia device displays using a television set, or controlfunctionality of the television set. Conventionally, a remote controluses a battery to control the multimedia device. Because the batterylife is finite, there is a need to conserve battery life of the remotecontrol.

BRIEF SUMMARY

System, method, and a computer program product embodiments, andcombinations and sub-combinations thereof, for determining a pollingschedule for a remote control, are disclosed. In an embodiment, amultimedia device collects usage data that identifies when themultimedia device is in use. The probability that the multimedia deviceis in use for a particular time is based on the usage data. A pollingschedule is generated based on the usage probability such that the timeperiods between the polls vary according to the usage probability. Theremote control polls the multimedia device according to the receivedpolling schedule.

Further features and advantages of embodiments, as well as the structureand operation of various embodiments, are described in detail below withreference to the accompanying drawings. It is noted that the embodimentsare not limited to the specific embodiments described herein. Suchembodiments are presented herein for illustrative purposes only.Additional embodiments will be apparent to persons skilled in therelevant art(s) based on the teachings contained herein.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings are incorporated herein and form a part of thespecification.

FIG. 1 is a block diagram of a system where example embodiments may beimplemented.

FIGS. 2A-C are block diagrams of systems including a remote control anda multimedia device, according to an embodiment.

FIG. 3 is a diagram of a Bayesian network that correlates usage of amultimedia device to time, according to an embodiment.

FIG. 4 is a flowchart of a method for determining a polling schedule,according to an embodiment.

FIG. 5 is a flowchart of a method for polling a multimedia device,according to an embodiment.

FIG. 6 is an exemplary computing device where the contemplatedembodiments can be implemented.

In the drawings, like reference numbers generally indicate identical orsimilar elements. Additionally, generally, the left-most digit(s) of areference number identifies the drawing in which the reference numberfirst appears.

DETAILED DESCRIPTION

Provided herein are system, method and/or computer program productembodiments, and/or combinations and sub-combinations thereof, forgenerating a polling schedule for polling a multimedia device.

FIG. 1 is a block diagram 100 of a system where example embodiments maybe implemented.

In an embodiment, block diagram 100 includes a multimedia device 102.Multimedia device 102 may be a computing device that displays media ormultimedia. Example multimedia may be data that is a combination of oneor more of text, audio, still images, video, etc. In another example,multimedia device 102 may be a data streaming device that providesstreaming content over a network for display on a television set 104 oranother display device that has or is coupled to a display screen, suchas a computer. Example streaming content includes multimedia content,such as, movies, television episodes, advertisements, commercials, news,streaming channels, video clips, video games, on-demand video content,and photos. Example streaming content also includes audio and Internetcontent, to name a few examples.

Example multimedia device 102 may be a streaming stick or a streamingplayer, or a device that is included as part of display or a multimediarendering device that is included in, for example, a television set 104.In an embodiment, multimedia device 102 provides content, includingmultimedia and streaming content to television set 104 using, forexample, High-Definition Multimedia Interface (“HDMI®”), compositecables, V-by-one HS cable, low-voltage differential signaling (“LVDS”)cable or other connecting means. HDMI is a proprietary audio/videointerface for transferring uncompressed video data and also fortransferring compressed and/or uncompressed audio data between HDMIcompliant devices.

In a further embodiment, multimedia device 102 includes communicationinterface that connects multimedia device 102 to other computingdevices. Communication interface may include an Ethernet port, UniversalSerial Bus (“USB”) port and a memory card port, to name a few examples.In a further embodiment, multimedia device 102 may also display thecontent of other computing devices on television set 104. In a furtherembodiment, these multimedia devices 102 may be daisy-chained together,such as, when a digital video recorder (“DVR”) is connected to a cablebox.

In an embodiment, multimedia device 102 may be a portable device thatmay be transported to different locations and be connected to televisionset 104 or another device that displays streaming content at one ofthese different locations. In another embodiment, multimedia device 102and television set 104 may be combined into a single device (not shown).In yet another embodiment, multimedia device 102 may also delivercontent wirelessly, using, for example, a Wi-Fi.

In an embodiment, to obtain streaming content over a network, multimediadevice 102 may utilize one or more networks, collectively referred to asnetwork 106. In an embodiment, network 106 may be a wired and/orwireless network. Network 106 may also include interconnected computernetworks, referred collectively as the Internet. In an embodiment,network 106 may include private, public, academic, business, andgovernment networks that include extensive amounts of information andresources.

In an embodiment, the resources that are connected to network 106include a content distribution server 108. Content distribution server108 stores and distributes streaming content 110 over network 106. Tostore streaming content 110, content distribution system 108 may includea database storage or another non-volatile storage discussed, forexample, in detail in FIG. 6. At the request of multimedia device 102,content distribution server 108 provides requested streaming content 110to multimedia device 102 for streaming and eventual display ontelevision set 104.

In an embodiment, a remote control 112 controls, manipulates andotherwise accesses multimedia device 102 and/or television set 104(remote control 112 may also interact with other devices, such asreceivers, digital video disc (DVD) players, amplifiers, etc.). Forexample, remote control 112 may include buttons for turning multimediadevice 102 on and off, channel selection buttons, volume controlbuttons, channel shortcut buttons, and programmable “favorites” buttonsthat store a shortcut to favorite channels, movies, on-demand content,etc. In another example, remote control 112 can be used to navigate tomovies, music, shows, etc., stored on content distribution server 108that may be selected for viewing and displaying on television set 104via multimedia device 102. In a further embodiment, remote control 112includes a built-in headphone jack for private listening, as well asmotion control and gaming buttons. In yet another embodiment, remotecontrol 112 includes an audio interface that may be turned on and offbased on a request from multimedia device 102 that, for example, mayidentify a location of remote control 112 or play audio alerts.

In a further embodiment, system 100 also includes a portable computingdevice 114. Portable computing devices 114 may include smartphones,tablets, media players, and other like devices. Portable computingdevice 114 may download and store applications, that, when executed onportable computing device 114, cause the portable computing device 114to simulate functionality of remote control 112 as discussed in FIGS.1-6.

In a further embodiment, remote control 112 may include hardware,including a memory, a processor and a communication interface, as wellas combinations and/or sub-combinations thereof, that are described, forexample, in detail in FIG. 6, and that enable remote control 112 toreceive and process data with, and on behalf of, multimedia device 102.For example, multimedia device 102 may generate or receive messages,firmware updates, ringtone updates, etc., over network 106 thatmultimedia device 102 may communicate to remote control 112. Forexample, multimedia device 102 may send a message to remote control 112that causes remote control 112 to play a ring tone. In another example,multimedia device 102 may receive new firmware or ringtones that may bedownloaded and executed on remote control 112. In another example,multimedia device 102 may transmit a message, such as a news message, analert message, or a message from another user who may be also usingmultimedia device 102 to remote control 112. Once remote control 112receives the message, remote control 112 may perform functionsassociated or required by the received message. For example, remotecontrol 112 may play the message using the audio hardware included orcoupled to remote control 112, or execute the firmware upgrade. Inanother embodiment, remote control 112 may also receive and play amessage from multimedia device 102 when multimedia device 102 completespairing remote control 112 to multimedia device 102.

In an embodiment, to receive messages, firmware upgrades, etc., frommultimedia device 102, remote control 112 is communicatively coupled tomultimedia device 102 via a wired or wireless network. To maintaincommunication with multimedia device 102, as well as to process messagesand firmware upgrades, remote control 112 requires a power source. Anexample power source is a rechargeable or non-rechargeable battery thatis known to a person of ordinary skill in the art. A battery stores afinite amount of energy. When the energy is drained the battery musteither be recharged or replaced. For example, the battery may be drainedwhen remote control 112 and multimedia device 102 maintain a wired orwireless connection without exchanging data, such as, but not limited tomessages, alerts, or firmware upgrades.

One way to conserve battery life on remote control 112 is for remotecontrol 112 to intermittently communicate with multimedia device 102,rather than maintain a constant wired or wireless connection. In anembodiment, remote control 112 polls multimedia device 102 atpredetermined time intervals. When remote control 112 polls multimediadevice 102, remote control 112 alternates between a low power standbymode (or “sleep” mode) and a higher power mode (or “awake” mode). Forexample, remote control 112 remains in the sleep mode and periodicallyswitches to an awake mode. During the awake mode, remote control 112communicates with multimedia device 102 or television set 104, as wellas receives and processes messages, firmware upgrades, etc., frommultimedia device 102. Typically, remote control 112 polls multimediadevice 102 at different fixed time intervals, for example every ten orfifteen seconds. In an embodiment, to further conserve battery life, thetime interval when remote control 112 polls multimedia device 102 mayvary based on the activity that occurs on multimedia device 102 or thebattery level of remote control 112.

As discussed above, when remote control 112 polls multimedia device 102,remote control 112 switches between a sleep mode and an awake mode. Inan embodiment, the polling mechanism controls the time periods whenremote control 112 remains in a sleep mode before switching to an awakemode. In a further embodiment, these time periods may be adjusted basedon when multimedia device 102 is being classified as being in an activemode or in an idle mode. When multimedia device 102 is in an activemode, remote control 112 may poll multimedia device 102 more frequentlythan when multimedia device 102 is in an idle mode.

In an embodiment, whether multimedia device 102 is in an active or idlemode may depend on predefined criteria. For example, the criteria maydetermine that multimedia device 102 is in active mode when multimediadevice 102 is likely to receive communication from remote control 112,and in an idle mode when multimedia device 102 is unlikely to receivecommunication from remote control 112.

For example, multimedia device 102 may be in an active mode whenmultimedia device 102 streams streaming content 110, streams streamingcontent 110 of a particular type, streams streaming content 110 of apredetermined length, or streams streaming content 110 for less than apredetermined amount of time. For example, when multimedia device 102streams content that include commercials, video clips, cartoons andsitcoms, or has streamed a movie for, for example, less than tenminutes, multimedia device 102 may be classified as being in the activemode because a user is likely to use remote control 112 during thistime.

In another example, multimedia device 102 may be in an idle mode whennot streaming content 110, or is streaming content 110 that is greaterthan a predefined length. For example, when multimedia device 102 is notstreaming content 110 (or, in some embodiments, not continuouslystreaming content), multimedia device 102 might be classified as beingin an idle mode since it is not being used; thus the user is unlikely touse the remote control 112. As another example, when multimedia device102 streams movies and concerts for more than ten minutes, multimediadevice 102 may be classified as being in an idle mode because a user isunlikely to use remote control 112 during extended viewing.

In another embodiment, multimedia device 102 may be classified as beingin an active mode or an idle mode based on the time of day. For example,at night, when multimedia device 102 is not likely to be used, such as,for example, from 1:00 am to 4:00 am, multimedia device 102 may beclassified as being in an idle mode. In another example, in the eveningwhen multimedia device 102 is more likely to be used, for example from7:00 pm to 11:00 pm, multimedia device 102 may be classified as being inan active mode.

As discussed above, the polling period during which remote control 112polls multimedia device 102 may be a function of whether multimediadevice 102 is predicted to be in an active mode or an idle mode. Forexample, when multimedia device 102 is predicted to be in an idle mode,the time period between polls on remote control 112 may be set to alonger time period than when multimedia device 102 is predicted to be inan active mode. As a result, over time remote control 112 will pollmultimedia device 102 less frequently, and thus the battery life ofremote control 112 will be extended.

In an embodiment, the time periods for polling multimedia device 102 maybe determined based on usage probability of multimedia device 102. Theusage probability is a probability of whether multimedia device 102 isin an active mode or in an idle mode at a particular time. The usageprobability of multimedia device 102 may be determined from acombination that may include, for example, usage data and predictivemachine learning algorithm, such as a Bayesian network. Once the usageprobability for multimedia device 102 is determined, the usageprobability may be correlated to a time period between polls via afunction, including but not limited to a step or a Gaussian function.

The details for determining a time period between polls are describedbelow.

FIG. 2A is a block diagram 200A of a remote control device and amultimedia device, according to an embodiment. Although the embodimentsbelow are described with respect to multimedia device 102, theembodiments can also be applied to any device that communicates withremote control 112 or any device that performs the functions andsimulates functionality of remote control 112.

In an embodiment, multimedia device 102 includes a usage monitor 202, aprobability generator 204, and a poll scheduler 206.

Usage monitor 202 records usage data 208. Usage data 208 reflects whenmultimedia device 102 was in an active mode or an idle mode. Whethermultimedia device 102 is in the active mode may be based on one or morecriteria. Examples of when multimedia device 102 may be in an activemode include when multimedia device 102 requests content, selects achannel, streams content, etc. In another example, multimedia device 102may be in an active mode when multimedia device 102 selects a movie, butnot when the movie is streaming. In another example, multimedia device102 may be in an active mode when multimedia device 102 plays a movieclip or a short movie, or data content in general that plays for lessthan a predetermined amount time. In another example, multimedia device102 may be considered to be in an active mode when multimedia device 102streams a particular type of streaming content. In another example,multimedia device 102 may be in an active mode when multimedia device102 is on.

In a non-limiting embodiment, usage data 208 includes data thatindicates when multimedia device 102 was in an active mode or an idlemode. Example data includes a “month,” “day,” “hour” and “in-use” flagas shown in exemplary table 210. The “month,” “day,” and “hour”categories indicate the time and the “in-use” flag indicates whethermultimedia device 102 was in an active or idle mode during the indicatedtime. In an embodiment, the “in-use” flag may be a Boolean number thathas a “true” or “false” state, or an integer that may be set to “zero”or “one,” where “one” being an indication for multimedia device 102being in an active mode and “zero” being an indication for multimediadevice 102 being in an idle mode, or vice versa. In a furtherembodiment, as shown in FIG. 2A, the “in-use” flag may be set to analphabetic letter “Y” or “N”, where “Y” indicates an active mode and “N”indicates an idle mode, or vice versa. For example, usage data 208 intable 210 indicates that on January 2, at 2:00 am and on December 31, at11:00 pm multimedia device 102 was in an active mode, while on January 1at midnight, and January 2, at 1:00 am, multimedia device 102 was in anidle mode.

In an embodiment, probability generator 204 determines the probabilityof whether multimedia device 102 will be in an active or idle mode at aparticular future time, also referred to as usage probability 212. Forexample, probability generator 204 receives usage data 208 from usagemonitor 202, and generates a usage probability 212 from usage data 208.In an embodiment, probability generator 204 generates usage probability212 using a predictive learning machine algorithm. An example predictivelearning machine algorithm may include a Bayesian network thatcorrelates the day and/or time in the past to whether multimedia device102 was in an active mode or in an idle mode. A person skilled in theart will appreciate that a Bayesian network represents a set of randomvariables and their conditional dependencies via a directed acyclicgraph, such as a diagram in FIG. 3, below.

In an embodiment, probability generator 204 receives usage data 208 thatincludes a “month,” “day,” “hour,” and “in-use” data for multimediadevice 102. Probability generator 204 then generates usage probability212 that multimedia device 102 will be “in-use” for a given “day” and“hour.” An example usage probability 212 is shown in table 211. As shownin exemplary table 211, the usage probability of multimedia device beingused on Monday at on or about 1:00 a.m. is 25%, while on Sunday at on orabout 11:00 pm is 85%.

In an embodiment, to generate usage probability 212, probabilitygenerator 204 determines a sum of times that multimedia device 102 wasin use at a particular time over a predetermined number of days anddivides the sum by the total number of times that multimedia device 102was polled at the particular time over the predetermined number of days.The result may be a probability that multimedia device 102 will be inuse at a particular time.

In an embodiment, poll scheduler 206 receives usage probability 212 foreach “day” and “hour” and uses usage probability 212 to determine apolling schedule 214. Polling schedule 214 includes a time period foreach time frame that includes a “day” and “hour.” An example pollingschedule 214 is shown in table 215 where on Monday at midnight the timeperiod between polls is 15 seconds, while on Monday at 2:00 am the timeperiod between polls is 10 seconds.

In an embodiment, poll scheduler 206 determines a time period betweenpolls for each “day” and “hour” using a step function or a Gaussianfunction. In a step function, if multimedia device 102 has a probabilityof being in an active mode more than a predefined percentage, than theperiod between polls may be set to a first value, and if a probabilitythat multimedia device 102 is in an active mode is less than thepredefined percentage, the time period between polls is set to a secondvalue. In an embodiment, the first value may be greater than the secondvalue.

In a Gaussian function, the polling period may be set to differenttimes, based on the probability. For example, if the polling period isdefined using Gaussian function y(x), where y(1.00)=10 and y(0.00)=15(where 1.00 indicates 100% usage probability and 0.00 indicates 0% usageprobability), then the polling period for probabilities between 0.00 and1.00 would be between 10 and 15 seconds.

In another embodiment, poll scheduler 206 may determine a time periodbetween polls using a bimodal or a multimodal distribution of theprobability values. Bimodal and multimodal distributions may be multipleGaussian functions combined together. For example, in a bimodal ormultimodal function, poll scheduler 206 sets a polling period aroundparticular polling probabilities. For example, if probability thatmultimedia device 102 is in the active mode is 25%, time period betweenpolls may be 15 seconds, but when probability that multimedia device 102is in the active mode is 75%, the time period between polls may be 10seconds.

In a further embodiment, a time period between polls may be measured inseconds, minutes, hours or any other unit of time.

In an embodiment, once poll scheduler 206 determines the time periodbetween polls for each “day” and “hour,” multimedia device 102 transmitspolling schedule 214 to remote control 112 via networks 216A and/or216B.

In a further embodiment, probability generator 212 and poll scheduler206 may recalculate polling schedule 214 as usage data 208 changes or atpredefined time intervals. The multimedia device 102 then transmits therecalculated polling schedule 214 to remote control 112.

In an embodiment, network 216A may be a local wireless network, such asa Wi-Fi network, Bluetooth®, or a local area network that connectsmultimedia device 102 to remote control 112. In a further embodiment,multimedia device 102 may be connected to remote control 112 using awired network or cable, collectively referred to as network 216B. Anexample network 216B may be implemented using a Universal Serial Bus(“USB”) cable or another cable. In a further embodiment, multimediadevice 102 may transmit polling schedule 214 to portable computingdevice 114 using network 106 where portable computing device 114simulates remote control 112.

In an embodiment, remote control 112 includes a poll scheduler 218 and atimer 220. When remote control 112 receives polling schedule 214, remotecontrol 112 stores polling schedule 214 as polling schedule 214R inmemory storage included in remote control 112. An example pollingschedule 214R may be represented in table 215R.

Remote control 112 then polls multimedia device 102 according to pollingschedule 214R. For example, poll scheduler 218 accesses polling schedule214R, and based on the “day” and “time” in polling schedule 214R setstimer 220 to a time period that corresponds to the “day” and “time” inpolling schedule 214R. For example, on Monday at midnight, pollingscheduler 218 sets timer 220 for 15 seconds. Once timer 220 is set, or aconfigurable period of time thereafter, remote control 112 enters asleep mode for the set time period and conserves the battery of remotecontrol 112. Once the time period set by timer 220 expires, remotecontrol 112 enters an active mode and polls multimedia device 102.Polling scheduler 218 then sets timer 220 for another time period asspecified in polling schedule 214R. This way, remote control 112 staysin a sleep mode for a longer period of time when historically multimediadevice 102 is in the idle mode, and for a shorter period of time whenhistorically multimedia device 102 is in the active mode.

FIG. 2B is a block diagram 200B of a remote control and a multimediadevice, according to an embodiment. In block diagram 200B, usage monitor202 may transmit usage data 208 to remote control 112 where probabilitygenerator 204, and/or poll scheduler 206 determine polling schedule 214.In a further embodiment, remote control 112 may calculate pollingschedule 214 when remote control 112 recharges its battery, when thecharge is above a predefined threshold, or at preconfigured timeintervals.

FIG. 2C is a block diagram 200C of remote controls and a multimediadevice, according to an embodiment. In block diagram 200C, severalremote controls 112 and/or portable computing devices 114 that simulateremote controls 112 are communicatively connected over network 216A or216B (collectively referred to as network 216 in FIG. 2C) and includeone or more probability generators 204 and poll schedulers 206 (notshown.) Probability generators 204 and poll schedulers 206 can calculatepolling schedule 214 individually or collectively and in parallel fromusage data 208 that is generated by multimedia device 102. For example,each remote control 112 may receive a portion of usage data 208 from oneor more multimedia devices 102. Remote controls 112 may then useprobability generator 204 and poll scheduler 206 to determine pollingschedules associated with each remote control 112 and then combine theindividual polling schedules into polling schedule 214. For example, theindividual polling schedules may be transferred via network 216 to asingle remote control 112A, where remote control 112A combines theindividual polling schedules into polling schedule 214.

In a further embodiment, remote controls 112 that are connected to apower source and are recharging may receive usage data 208 such thatremote controls 112 generate the respective polling schedules whilebeing plugged into a power source to thereby further conserve thebattery life. In another embodiment, remote controls 112 may calculatepolling schedule 214 when the charge is above a predefined threshold, orat preconfigured time intervals.

In another embodiment, multiple multimedia devices 102 may communicatewith each other and generate a polling schedule from usage dataassociated with multiple multimedia devices 102. The polling schedulemay then be distributed to remote controls 112 and portable computingdevices 114 via network 216 (which may be a combination of networks 106Aand/or 106B), where remote controls 112 and portable computing devices114 poll multimedia devices 102 according to the polling scheduleassociated with multiple multimedia devices 102.

FIG. 3 is a diagram 300 of a Bayesian network that correlates usage of amultimedia device to time, according to an embodiment. As shown indiagram 300, the Bayesian network may be one of several machine learningmethodologies that determine usage probability 212 from usage data 208.For example, Bayesian network determines usage probability 212 ofmultimedia device 102 by correlating when multimedia device 102 wasin-use 306 (in active or idle mode) to day 302 and hour 304, andrepeating the correlation over weeks or months. As discussed above,usage probability 212 may be constructed based on the historical usageof multimedia device 102 described in usage data 208.

FIG. 4 is a flowchart of a method 400 for determining a pollingschedule, according to an embodiment.

At operation 402, a multimedia device records usage data. For example,usage monitor 202 records usage data 208 based on the usage ofmultimedia device 102. As discussed above, usage data 208 identifieswhen multimedia device 102 is in an active or idle mode, as specifiedaccording to a predefined criteria. Example criteria may includestreaming content 110 which will likely involve the use of remotecontrol 112, such as, multimedia content that is shorter than apredefined length or content of a particular type. When multimediadevice 102 processes multimedia content that matches the criteria, usagemonitor 202 records that multimedia device 102 is in an active mode orin an idle mode.

At operation 404, the multimedia device determines usage probability.For example, probability generator 204 uses usage data 208 to generateusage probability 212. Usage probability 212 is probability thatmultimedia device 102 is in an active or idle mode at a particular pointin time. In an embodiment, probability generator 204 uses machinelearning algorithms, such as Bayesian network to generate usageprobability 212. As discussed above, in an embodiment, probabilitygenerator 204 may add a number of times that multimedia device 102 waspolled when multimedia device 102 was in an active mode over aparticular time period, and divide the sum by a number of timesmultimedia device 102 has been polled during the particular time period.

At operation 406, the multimedia device generates a polling schedule.For example, poll scheduler 206 generates a polling schedule 214 thatincludes polling time period for different times of day. Pollingschedule 214 predicts whether remote control 112 will be active or idleduring different times of day. In one embodiment, poll scheduler 206correlates a particular usage probability 212 to a particular timeperiod. In an embodiment, poll scheduler 206 may correlate usageprobability 212 using a Gaussian function.

At operation 408, the multimedia device transmits a polling schedule toa remote control. For example, multimedia device 102 transmits pollingschedule 214 to remote control 112, such that remote control 112 usespolling schedule 214R to poll multimedia device 102 according to timeperiods in polling schedule 214R.

FIG. 5 is a flowchart of a method 500 for polling a multimedia device bya remote control, according to an embodiment.

At operation 502, the remote control sets a period for polling themultimedia device. For example, poll scheduler 218 executing on remotecontrol 112 determines a time period from polling schedule 214R thatindicates the time interval for polling multimedia device 102.

At operation 504, the remote control sets a timer. For example, pollscheduler 218 sets timer 220 that activates remote control 112 from thesleep mode at the end of the period.

At operation 506, the remote control enters a sleep mode. For example,after poll scheduler 218 sets timer 220, remote control 112 enters asleep mode that conserves the battery.

At operation 508, the remote control enters an awake mode. For example,remote control 112 enters an awake period when timer 220 goes off whenthe time period expires.

At operation 510, a multimedia device is polled. For example, remotecontrol 112 polls multimedia device 102 once remote control 112 entersthe awake mode. After operation 510, the flowchart proceeds to operation502, where poll scheduler 218 sets another time period as indicated inpolling scheduler 214R. As discussed, during the time period remotecontrol 112 enters a sleep mode.

Various embodiments can be implemented, for example, using one or morewell-known computer systems or one or more components included incomputer system 600 shown in FIG. 6. Computer system 600 can be anywell-known computer capable of performing the functions describedherein.

Computer system 600 includes one or more processors (also called centralprocessing units, or CPUs), such as a processor 604. Processor 604 isconnected to a communication infrastructure or bus 606.

One or more processors 604 may each be a graphics processing unit (GPU).In an embodiment, a GPU is a processor that is a specialized electroniccircuit designed to process mathematically intensive applications. TheGPU may have a parallel structure that is efficient for parallelprocessing of large blocks of data, such as mathematically intensivedata common to computer graphics applications, images, videos, etc.

Computer system 600 also includes user input/output device(s) 630, suchas monitors, keyboards, pointing devices, etc., that communicate withcommunication infrastructure 606 through user input/output interface(s)602.

Computer system 600 also includes a main or primary memory 608, such asrandom access memory (RAM). Main memory 608 may include one or morelevels of cache. Main memory 608 has stored therein control logic (i.e.,computer software) and/or data.

Computer system 600 may also include one or more secondary storagedevices or memory 610. Secondary memory 610 may include, for example, ahard disk drive 612 and/or a removable storage device or drive 614.Removable storage drive 614 may be a floppy disk drive, a magnetic tapedrive, a compact disk drive, an optical storage device, tape backupdevice, and/or any other storage device/drive.

Removable storage drive 614 may interact with a removable storage unit618. Removable storage unit 618 includes a computer usable or readablestorage device having stored thereon computer software (control logic)and/or data. Removable storage unit 618 may be a floppy disk, magnetictape, compact disk, DVD, optical storage disk, and/or any other computerdata storage device. Removable storage drive 614 reads from and/orwrites to removable storage unit 618 in a well-known manner.

According to an exemplary embodiment, secondary memory 610 may includeother means, instrumentalities or other approaches for allowing computerprograms and/or other instructions and/or data to be accessed bycomputer system 600. Such means, instrumentalities or other approachesmay include, for example, a removable storage unit 622 and an interface620. Examples of the removable storage unit 622 and the interface 620may include a program cartridge and cartridge interface (such as thatfound in video game devices), a removable memory chip (such as an EPROMor PROM) and associated socket, a memory stick and USB port, a memorycard and associated memory card slot, and/or any other removable storageunit and associated interface.

Computer system 600 may further include a communication or networkinterface 624. Communication interface 624 enables computer system 600to communicate and interact with any combination of remote devices,remote networks, remote entities, etc. (individually and collectivelyreferenced by reference number 628). For example, communicationinterface 624 may allow computer system 600 to communicate with remotedevices 628 over communications path 626, which may be wired and/orwireless, and which may include any combination of LANs, WANs, theInternet, etc. Control logic and/or data may be transmitted to and fromcomputer system 600 via communication path 626.

Computer system 600 may further include a power source 632. Power source632 supplies energy to computer system 600 that allows components withincomputer system 600 to function. Power source 632 may be a stand alonedevice or be incorporated into computer system 600. In a furtherembodiment, power source 632 converts mains alternating-current (“AC”)into a low voltage direct current (“DC”) that is compatible withcomputer system 600.

In an embodiment, a tangible apparatus or article of manufacturecomprising a tangible computer useable or readable medium having controllogic (software) stored thereon is also referred to herein as a computerprogram product or program storage device. This includes, but is notlimited to, computer system 600, main memory 608, secondary memory 610,and removable storage units 618 and 622, as well as tangible articles ofmanufacture embodying any combination of the foregoing. Such controllogic, when executed by one or more data processing devices (such ascomputer system 600), causes such data processing devices to operate asdescribed herein.

Based on the teachings contained in this disclosure, it will be apparentto persons skilled in the relevant art(s) how to make and useembodiments of the invention using data processing devices, computersystems and/or computer architectures other than that shown in FIG. 6.In particular, embodiments may operate with software, hardware, and/oroperating system implementations other than those described herein.

It is to be appreciated that the Detailed Description section, and notthe Summary and Abstract sections (if any), is intended to be used tointerpret the claims. The Summary and Abstract sections (if any) may setforth one or more but not all exemplary embodiments of the invention ascontemplated by the inventor(s), and thus, are not intended to limit theinvention or the appended claims in any way.

While the invention has been described herein with reference toexemplary embodiments for exemplary fields and applications, it shouldbe understood that the invention is not limited thereto. Otherembodiments and modifications thereto are possible, and are within thescope and spirit of the invention. For example, and without limiting thegenerality of this paragraph, embodiments are not limited to thesoftware, hardware, firmware, and/or entities illustrated in the figuresand/or described herein. Further, embodiments (whether or not explicitlydescribed herein) have significant utility to fields and applicationsbeyond the examples described herein.

Embodiments have been described herein with the aid of functionalbuilding blocks illustrating the implementation of specified functionsand relationships thereof. The boundaries of these functional buildingblocks have been arbitrarily defined herein for the convenience of thedescription. Alternate boundaries can be defined as long as thespecified functions and relationships (or equivalents thereof) areappropriately performed. Also, alternative embodiments may performfunctional blocks, steps, operations, methods, etc. using orderingsdifferent than those described herein.

References herein to “one embodiment,” “an embodiment,” “an exampleembodiment,” or similar phrases, indicate that the embodiment describedmay include a particular feature, structure, or characteristic, butevery embodiment may not necessarily include the particular feature,structure, or characteristic. Moreover, such phrases are not necessarilyreferring to the same embodiment. Further, when a particular feature,structure, or characteristic is described in connection with anembodiment, it would be within the knowledge of persons skilled in therelevant art(s) to incorporate such feature, structure, orcharacteristic into other embodiments whether or not explicitlymentioned or described herein.

The breadth and scope of the invention should not be limited by any ofthe above-described exemplary embodiments, but should be defined only inaccordance with the following claims and their equivalents.

What is claimed is:
 1. A computer-implemented method, comprising:determining usage probability of a multimedia device based on usagedata, wherein the usage probability includes a plurality of probabilityvalues that correspond to a plurality of times of one or more days;generating a polling schedule based on the usage probability, whereinthe polling schedule includes a plurality of polling periods that areassociated with the plurality of times of the one or more days, eachpolling period of the plurality of polling periods indicates a timeperiod between polls, and the plurality of polling periods are lowerwhen the plurality of probability values of the determined usageprobability are higher; and polling, by a remote control device, themultimedia device according to one or more polling periods included inthe polling schedule to conserve battery life of the remote controldevice.
 2. The computer-implemented method of claim 1, wherein themultimedia device streams multimedia content from a content distributionserver and displays the multimedia content on a display device, theremote control device is a remote control or a portable computing devicethat manipulates the multimedia device, and the usage data is collectedby the multimedia device and indicates when the multimedia device wasactive or idle.
 3. The computer-implemented method of claim 2, whereinthe usage probability further includes the plurality of times and theone or more days, the plurality of times identify a plurality of hoursof each day of the one or more days, and each hour of the plurality ofhours corresponds to a probability value of the plurality of probabilityvalues that indicates a probability that the multimedia device will bein use in each hour.
 4. The computer-implemented method of claim 2,wherein the multimedia device is active when the multimedia devicestreams multimedia content of a particular type and a particular length,and the multimedia device is idle when the multimedia device streamsmultimedia content greater than the particular length.
 5. Thecomputer-implemented method of claim 2, wherein the multimedia device isactive when the multimedia device streams the multimedia content, andthe multimedia device is idle when the multimedia device is notstreaming the multimedia content.
 6. The computer-implemented method ofclaim 2, wherein the usage probability is determined based on a numberof times the multimedia device received a polling signal when themultimedia device is active during a particular period of time and anumber of times the multimedia device received a polling signal duringthe particular period of time.
 7. The computer-implemented method ofclaim 2, wherein the generating of the polling schedule furthercomprises generating the polling schedule by correlating a probabilityvalue of the plurality of probability values with a polling period ofthe plurality of polling periods for one or more times of the one ormore days based at least partially on a Gaussian function or a Bayesiannetwork.
 8. The computer-implemented method of claim 2, furthercomprising: transmitting, by the remote control device, at least onepolling signal to the multimedia device for each time of the pluralityof times of the one or more days indicated in the polling schedule. 9.The computer-implemented method of claim 2, further comprising: settinga timer to a time period between polls as indicated by a polling periodof the polling schedule for a particular time of a particular day thatcorrespond to a current time of current day; entering a low power modeafter setting the timer to the time period between polls; and entering ahigher power mode when the timer expires, wherein the polling of themultimedia device comprises polling the multimedia device when theremote control device enters the higher power mode.
 10. A controldevice, comprising: a memory; and a processor operatively coupled to thememory, wherein the processor is configured to: determine usageprobability of a multimedia device based on usage data, wherein theusage probability includes a plurality of probability values thatcorrespond to a plurality of times of one or more days; generate apolling schedule based on the usage probability, wherein the pollingschedule includes a plurality of polling periods that are associatedwith the plurality of times of the one or more days, each of theplurality of polling periods indicates a time period between polls, andthe plurality of polling periods are lower when the plurality ofprobability values of the determined usage probability are higher; andpoll, by the control device, the multimedia device according to one ormore polling periods included in the polling schedule to conservebattery life of the control device.
 11. The control device of claim 10,wherein the multimedia device streams multimedia content from a contentdistribution server and displays the multimedia content on a displaydevice, the control device is a remote control or a portable computingdevice that manipulates the multimedia device, and the usage data iscollected by the multimedia device and indicates when the multimediadevice was active or idle.
 12. The control device of claim 11, whereinthe usage probability further includes the plurality of times and theone or more days, the plurality of times identify a plurality of hoursof each day of the one or more days, and each hour of the plurality ofhours corresponds to a probability value of the plurality of probabilityvalues that indicates a probability that the multimedia device will bein use in each hour.
 13. The control device of claim 11, wherein themultimedia device is active when the multimedia device streamsmultimedia content of a particular type and a particular length, and themultimedia device is idle when the multimedia device streams multimediacontent greater than the particular length.
 14. The control device ofclaim 11, wherein the multimedia device is active when the multimediadevice streams the multimedia content, and the multimedia device is idlewhen the multimedia device is not streaming the multimedia content. 15.The control device of claim 11, wherein the usage probability isdetermined based on a number of times the multimedia device received apolling signal when the multimedia device is active during a particularperiod of time and a number of times the multimedia device received apolling signal during the particular period of time.
 16. The controldevice of claim 11, wherein to generate the polling schedule, theprocessor is further configured to correlate a probability value of theplurality of probability values with a polling period of the pluralityof polling periods for one or more times of the one or more days basedat least partially on a Gaussian function or a Bayesian network.
 17. Thecontrol device of claim 11, wherein to generate the polling schedule,the processor is further configured to generate the polling schedulewhen the remote control or the portable computing device is recharging abattery of the remote control or the portable computing device.
 18. Thecontrol device of claim 11, wherein the processor is further configuredto: set a timer to a time period between polls as indicated by a pollingperiod of the polling schedule for a particular time of a particular daythat correspond to a current time of current day, enter a low power modeafter setting the timer to the time period between polls, and enter ahigher power mode when the timer expires, wherein to poll the multimediadevice, the processor is further configured to poll the multimediadevice when the remote control or the portable computing device entersthe higher power mode.
 19. A non-transitory computer readable mediumhaving instructions stored thereon, that, when executed on a controldevice, cause the control device to perform operations, the operationscomprising: determining usage probability of a multimedia device basedon usage data, wherein the usage probability includes a plurality ofprobability values that correspond to a plurality of times of one ormore days; generating a polling schedule based on the usage probability,wherein the polling schedule includes a plurality of polling periodsthat are associated with the plurality of times of the one or more days,each polling period of the plurality of polling periods indicates a timeperiod between polls, and the plurality of polling periods are lowerwhen the plurality of probability values of the determined usageprobability are higher; and polling, by the control device, themultimedia device according to one or more polling periods included inthe polling schedule to conserve battery life of the control device. 20.The non-transitory computer readable medium of claim 19, wherein themultimedia device streams multimedia content from a content distributionserver and displays the multimedia content on a display device, thecontrol device is a remote control or a portable computing device thatmanipulates the multimedia device, the usage data is collected by themultimedia device and indicates when the multimedia device was active oridle, the multimedia device is active when the multimedia device streamsthe multimedia content, and the multimedia device is idle when themultimedia device is not streaming the multimedia content.